package gestionBDD;

import java.sql.* ;

import interne.Tirage ;

public class requetesTirage {
	
	/*
	 * Ajoute une entrée dans la table Tirage
	 * Entrée : Objet Tirage avec tous les attributs sauf id_fomat
	 */
	public static void ajouterTirage(Tirage t) throws SQLException {
		try {
			String sql = "INSERT INTO TIRAGE (libelle, prix_unitaire) VALUES(?,?)";
			PreparedStatement statement = accesBDD.getInstance().prepareStatement(sql);
			statement.setObject(1, t.getLibelle());
			statement.setObject(2, t.getPrixUnitaire());
			statement.executeUpdate();
			statement.close();
			accesBDD.getInstance().commit();
		}
		catch(SQLException e) {
			System.out.println(e) ;
		}
	}
	
	/*
	 * Met à jour une entrée de la table Tirage
	 * Entrée : Objet Tirage avec l'attribut libelle
	 */
	public static void modifierTirage(Tirage t) throws SQLException {
		try {
			String sql = "UPDATE TIRAGE SET prix_unitaire = ? WHERE libelle = ?";
			PreparedStatement statement = accesBDD.getInstance().prepareStatement(sql);
			statement.setObject(1, t.getPrixUnitaire());
			statement.setObject(2, t.getLibelle());
			statement.executeUpdate();
			statement.close();
			accesBDD.getInstance().commit();
		}
		catch(SQLException e) {
			System.out.println(e) ;
		}		
	}
	
	/*
	 * Supprime une entrée de la table Tirage
	 * Entrée : Objet Tirage avec id_format
	 */
	public static void retirerTirage(Tirage t) throws SQLException {
		try {
			String sql = "DELETE FROM TIRAGE WHERE id_format = ?";
			PreparedStatement statement = accesBDD.getInstance().prepareStatement(sql);
			statement.setObject(1, t.getIdFormat());
			statement.executeUpdate();
			statement.close();
			accesBDD.getInstance().commit();
		}
		catch(SQLException e) {
			System.out.println(e) ;
		}		
	}
	
	/*
	 * Retourne une entrée de la table Tirage
	 * Entrée : Objet Tirage avec id_format
	 */
	public static Tirage trouverAvecId(Tirage t) throws SQLException {
		try {
			String sql = "SELECT * FROM IMAGE WHERE id_format = ?" ;
			PreparedStatement statement = accesBDD.getInstance().prepareStatement(sql);
			statement.setObject(1, t.getIdFormat());
	        ResultSet rs = statement.executeQuery();
	        rs.next();
	        t.setPrixUnitaire(rs.getFloat("PRIX"));
	        t.setLibelle(rs.getString("LIBELLE"));
			statement.close();
			return t ;
		}
		catch(Exception e) {
			System.out.println("trouverAvecId() : " + e) ;
			return null ;
		}
	}
	
	/*
	 * Retourne le nom d'un tirage
	 * Entrée : Entier id_format
	 */
	public static String retournerLibelle(Integer idFormat) throws SQLException {
		try {
			String sql = "SELECT * FROM TIRAGE WHERE id_format = ?" ;
			PreparedStatement statement = accesBDD.getInstance().prepareStatement(sql);
			statement.setObject(1, idFormat);
	        ResultSet rs = statement.executeQuery();
	        rs.next();
	        return rs.getString("LIBELLE") ;
		}
		catch(SQLException e) {
			System.out.println(e);
			return null;
		}
	}
}
